// pages/detail/index.js
//获取应用实例
const app = getApp()
var config = require('../../utils/config.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgs: [],
    notice: null,
    comment: [],
    isCollect: false,
    collectionId: null,
    commentText: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let _this = this
    _this.data.noticeId = options.id
    // this.data.cid = options.cid
    console.log(options.id)
    // 获取公告信息
    wx.request({
      url: config.HOST + '/notice/noticeDesc/' + options.id,
      success(res) {
        console.log(res.data)
        if (res.data.status == 200) {
          // 图片
          if (res.data.data.img != null && res.data.data.img != '') {
            _this.setData({
              imgs: res.data.data.img.split(','),
            })
          }
          _this.setData({
            notice: res.data.data,
            comment: res.data.data.pageInfos.list
          })
        }
      }
    })
    // 是否收藏
    this._isCollect()
  },
  _isCollect() {
    let _this = this
    let token = wx.getStorageSync('token')
    if (token == null || token == '')
      return;
    wx.request({
      url: config.HOST + '/notice/isCollect',
      data: {
        noticeId: this.data.noticeId,
        token: token
      },
      success(res) {
        console.log(res.data)
        if (res.data.status != undefined && res.data.status == 500)
          return;
        if (res.data != null && res.data != '') {
          _this.setData({
            isCollect: true
          })
          _this.data.collectionId = res.data.collectionId
        }
      }
    })
  },
  phoneCall() {
    wx.makePhoneCall({
      phoneNumber: this.data.notice.phone
    })
  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function(res) {
    return {
      title: '公众墙',
      path: this.route + '?id='+this.data.noticeId,
      // imageUrl: '这个是显示的图片，不写就默认当前页面的截图',
      success: function(shareTickets) {
        console.info(shareTickets + '成功');
        // 转发成功
      },
      fail: function(res) {
        console.log(res + '失败');
        // 转发失败
      },
      complete: function(res) {
        // 不管成功失败都会执行
      }
    }

  },
  preImg(event) {
    wx.previewImage({
      urls: this.data.imgs,
      current: event.currentTarget.dataset.url
    })
  },
  // 跳转到公告分类上去
  categoryList(event) {
    let cid = event.target.dataset.cid
    let cname = event.target.dataset.cname
    wx.navigateTo({
      url: '../category/index?cid=' + cid + '&cname=' + cname,
    })
  },
  //收藏
  scnotice() {
    // 进入用户中心判断用户身份登录
    app.login().then(() => {
        console.log("登陆了")
        let token = wx.getStorageSync('token')
        if (token == null || token == '')
          return;
        let _this = this
        if (this.data.isCollect) {
          wx.request({
            url: config.HOST + '/notice/delCollection',
            data: {
              token: token,
              collectionId: this.data.collectionId
            },
            success() {
              wx.showToast({
                title: '已取消',
              })
              _this.setData({
                isCollect: false
              })
            }
          })
        } else {
          wx.request({
            url: config.HOST + '/notice/collect',
            data: {
              noticeId: this.data.noticeId,
              token: token
            },
            success(res) {
              if (res.data.status == 200) {
                console.log(res.data.data.collectionId)
                _this.data.collectionId = res.data.data.collectionId
                wx.showToast({
                  title: '收藏成功',
                })
                _this.setData({
                  isCollect: true
                })
              }
            }
          })
        }
      })
      .catch((data) => {
        console.log(data)
        wx.navigateTo({
          url: '../login/index',
        })
      })


  },
  commentInput(event) {
    this.data.commentText = event.detail.value
  },
  sendComment() {
    if (this.data.commentText.trim() == '') {
      wx.showToast({
        title: '我看你无话可说',
        icon: 'none'
      })
      return;
    }
    // 进入用户中心判断用户身份登录
    app.login().then(() => {
        console.log("登陆了")
        let token = wx.getStorageSync('token')
        let _this = this
        wx.request({
          url: config.HOST + '/notice/comment',
          data: {
            token: token,
            content: this.data.commentText,
            noticeId: this.data.noticeId
          },
          success(res) {
            if (res.data.status == 200) {
              wx.showToast({
                title: '评论成功',
              })

              //视图层添加自己的评论
              let nickname = wx.getStorageSync("nickname")
              let headImg = wx.getStorageSync("headImg")
              _this.data.comment.unshift({
                commentHeadImg: headImg,
                commentNickname: nickname,
                commentCreateDate: new Date().Format("yyyy-MM-dd hh:mm:ss"),
                commentContent: _this.data.commentText
              })
              _this.setData({
                comment: _this.data.comment,
                commentText: ''
              })
            }
          }
        })
      })
      .catch((data) => {
        console.log(data)
        wx.navigateTo({
          url: '../login/index',
        })
      })


  },
  backHome() {
    wx.navigateBack({

    })
  },
  forward() {

  }
})

// 对Date的扩展，将 Date 转化为指定格式的String   
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，   
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
// 例子：   
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423  
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
Date.prototype.Format = function(fmt) { //author: meizz   
  var o = {
    "M+": this.getMonth() + 1, //月份   
    "d+": this.getDate(), //日   
    "h+": this.getHours(), //小时   
    "m+": this.getMinutes(), //分   
    "s+": this.getSeconds(), //秒   
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度   
    "S": this.getMilliseconds() //毫秒   
  };
  if (/(y+)/.test(fmt))
    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt))
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
}